package cn.fl.capital.vo;

import cmm.mid.core.framework.page.KeyValueVO;
import cmm.web.core.framework.vo.BaseVO;
import cn.lb.framework.poi.excel.annotation.Excel;
import cn.lb.framework.poi.excel.annotation.ExcelTarget;

import java.util.Date;
import java.util.List;

/**
 * @Description: 客户资金表
 */
@ExcelTarget("capFundVO")
public class CapFundVO extends BaseVO {

    private static final long serialVersionUID = 3018704204220010504L;
    /**
     * 资金id
     */
    private Long id;
    /**
     * 资金ID集合
     */
    private List<Long> idList;
    /**
     * 客户ID
     */
    private Long cstId;
    /**
     * 客户名称
     */
    private String cstNm;
    /**
     * 资金编号
     */
    private String code;
    /**
     * 来款账户
     */
    @Excel(name = "来款账号")
    private String comeCode;
    /**
     * 来款人
     */
    @Excel(name = "来款户名")
    private String comeName;

    // 来款银行名称
    private String comeBankName;
    /**
     * 收款账户
     */
    @Excel(name = "收款账号")
    private String acceptCode;
    /**
     * 收款人
     */
    @Excel(name = "收款账户")
    private String acceptName;
    /**
     * 收款金额[核销实收金额]
     */
    private Long amount;
    /**
     * 可用金额
     */
    private Long availableAmount;
    /**
     * 已用金额
     */
    private Long usedAmount;
    /**
     * 资金状态集合 CAP0004：0.未分解1.分解中2.已分解3.已作废
     */
    private String fundStatusCd;
    /**
     * 资金到账日期
     */
    @Excel(name = "交易时间")
    private Date acceptDate;
    /**
     * 实际到账日期
     */
    private Date acceptActualDate;
    /**
     * 摘要
     */
    @Excel(name = "摘要")
    private String docketRem;
    /**
     * 认款操作人
     */
    private Long identifyOperator;
    /**
     * 认款操作时间
     */
    private Date identifyTime;
    /**
     * 认款操作人名称
     */
    private String identifyOperatorNm;
    /**
     * 资金来源CAP0002：0-正常来款 1- 保证金转入 2-保险保证金转入 3-保险首期款转入 4-保险退还客户 5- 扣除保险保证金 6-风险保证金转入
     */
    private String fundSourcesCd;
    /**
     * 资金录入方式 1.手工录入 2.批量导入3.代扣导入4.APP录入
     */
    private String fundInputCd;
    /**
     * 所属事业部组织架构？
     */
    private String fundBelongOrgCd;
    /**
     * 代扣账号
     */
    private String bankCardNo;
    /**
     * 资金种类(CAP0014) 0.重卡资金 1.保险租金
     */
    @Excel(name = "资金类型")
    private String fundTypCd;
    /**
     * 凭证种类-数据字典
     */
    private String certificateCd;
    /**
     * 凭证号码
     */
    private String certificateCode;
    /**
     * 业务编号
     */
    private String businessCode;
    /**
     * 借贷标志-数据字典
     */
    private String borrowingLogoCd;
    /**
     * 币种-数据字典
     */
    private String moneyType;
    /**
     * 导出状态-数据字典：0-未导出 1-已导出
     */
    private String expStatusCd;
    /**
     * 关联付款ID
     */
    private Long relationPayId;
    /**
     * 是否删除（1：是，0：否）
     */
    private Integer isDel;
    /**
     * 版本
     */
    private Long version;
    /**
     * 来款金额
     */
    @Excel(name = "来款金额(元)")
    private Double amountDou;
    /**
     * 资金状态名称
     */
    private String fundStatusCdNm;
    /**
     * 创建人名称
     */
    private String crtUsrNm;
    /**
     * 资金到账日期
     */
    private String acceptDates;
    /**
     * 实际到账日期
     */
    private String acceptActualDates;
    /*
     *资金种类(CAP0014) 0.重卡资金 1.保险租金
     */
    private String fundTypCdNm;
    /**
     * 所属事业部名称
     */
    private String fundBelongOrgCdNm;
    /**
     * 分解人
     */
    private String fundDecomUsrNm;
    /**
     * 支付表号
     */
    private String paySchNo;
    /**
     * 认款后是否需要立即核销0.否1.是
     */
    private Integer isNeedVf;

    /**
     * 资金类型 1.租金 2.结清款 3.首期款 4.分线保证金 5.拖车费 6.其他资金
     */
    private String capTypCd;

    /**
     * 资金类型名称  1.租金 2.结清款 3.首期款 4.分线保证金 5.拖车费 6.其他资金
     */

    private String capTypCdNm;


    /**
     * 备注信息List
     */
    private List docketRemList;


    /**
     * 支付表ID集合字符串
     */
    private String paySchIds;

    /**
     * 资金类型集合
     */
    private List<KeyValueVO> capFunTypeList;

    /**
     * 分解时间
     */
    private Date decomposeTime;

    /**
     * 剩余可转资金
     */
    private Long SurpluOutAmt;
    /**
     * 父资金ID
     */
    private Long fundPid;
    /**
     * 是否自动划扣(1.是 0.否)
     */
    private Integer isAutoCharge;

  	//使用金额
    private Long useAmt;
    //使用金额类型转换
    private Double useAmts;

    /**
     * 来款渠道(FUND_CHN_CD)
     */
    private String fundChnCd;

    /**
     * 保证金处理方式
     */
    private String handleWayCd;

    /**
     * 对应核销是否冲红
     */
    private Integer isRevert;
    /**
     * 对应核销的冲红时间
     */
    private Date revertDt;

    /**
     * 本金
     */
    private Long capAmt;
    /**
     * 利息
     */
    private Long intrAmt;
    /**
     * 罚息
     */
    private Long penaltyAmt;

    /**
     * 核销总金额
     */
    private Long totalAmt;

    public Long getTotalAmt() {
        return totalAmt;
    }

    public void setTotalAmt(Long totalAmt) {
        this.totalAmt = totalAmt;
    }

    public Long getCapAmt() {
        return capAmt;
    }

    public void setCapAmt(Long capAmt) {
        this.capAmt = capAmt;
    }

    public Long getIntrAmt() {
        return intrAmt;
    }

    public void setIntrAmt(Long intrAmt) {
        this.intrAmt = intrAmt;
    }

    public Long getPenaltyAmt() {
        return penaltyAmt;
    }

    public void setPenaltyAmt(Long penaltyAmt) {
        this.penaltyAmt = penaltyAmt;
    }

    public Integer getIsRevert() {
        return isRevert;
    }

    public void setIsRevert(Integer isRevert) {
        this.isRevert = isRevert;
    }

    public Date getRevertDt() {
        return revertDt;
    }

    public void setRevertDt(Date revertDt) {
        this.revertDt = revertDt;
    }

    public String getHandleWayCd() {
        return handleWayCd;
    }

    public void setHandleWayCd(String handleWayCd) {
        this.handleWayCd = handleWayCd;
    }

    public String getComeBankName() {
        return comeBankName;
    }

    public void setComeBankName(String comeBankName) {
        this.comeBankName = comeBankName;
    }

    public Double getUseAmts() {
		return useAmts;
	}

	public void setUseAmts(Double useAmts) {
		this.useAmts = useAmts;
	}

	public Long getUseAmt() {
		return useAmt;
	}

	public void setUseAmt(Long useAmt) {
		this.useAmt = useAmt;
	}

    public Long getSurpluOutAmt() {
        return SurpluOutAmt;
    }

    public void setSurpluOutAmt(Long surpluOutAmt) {
        SurpluOutAmt = surpluOutAmt;
    }


    public Date getDecomposeTime() {
        return decomposeTime;
    }

    public void setDecomposeTime(Date decomposeTime) {
        this.decomposeTime = decomposeTime;
    }

    public List<KeyValueVO> getCapFunTypeList() {
        return capFunTypeList;
    }

    public void setCapFunTypeList(List<KeyValueVO> capFunTypeList) {
        this.capFunTypeList = capFunTypeList;
    }


    public List getDocketRemList() {
        return docketRemList;
    }

    public void setDocketRemList(List docketRemList) {
        this.docketRemList = docketRemList;
    }

    public String getCapTypCd() {
        return capTypCd;
    }

    public void setCapTypCd(String capTypCd) {
        this.capTypCd = capTypCd;
    }

    /**
     * 客户ID
     */
    public Long getCstId() {
        return cstId;
    }

    /**
     * 客户ID
     */
    public void setCstId(Long cstId) {
        this.cstId = cstId;
    }

    /**
     * CST_NM
     */
    public String getCstNm() {
        return cstNm;
    }

    /**
     * CST_NM
     */
    public void setCstNm(String cstNm) {
        this.cstNm = cstNm;
    }

    /**
     * 资金编号
     */
    public String getCode() {
        return code;
    }

    /**
     * 资金编号
     */
    public void setCode(String code) {
        this.code = code;
    }

    /**
     * 来款账户
     */
    public String getComeCode() {
        return comeCode;
    }

    /**
     * 来款账户
     */
    public void setComeCode(String comeCode) {
        this.comeCode = comeCode;
    }

    /**
     * 来款人
     */
    public String getComeName() {
        return comeName;
    }

    /**
     * 来款人
     */
    public void setComeName(String comeName) {
        this.comeName = comeName;
    }

    /**
     * 收款账户
     */
    public String getAcceptCode() {
        return acceptCode;
    }

    /**
     * 收款账户
     */
    public void setAcceptCode(String acceptCode) {
        this.acceptCode = acceptCode;
    }

    /**
     * 收款人
     */
    public String getAcceptName() {
        return acceptName;
    }

    /**
     * 收款人
     */
    public void setAcceptName(String acceptName) {
        this.acceptName = acceptName;
    }

    /**
     * 收款金额[核销实收金额]
     */
    public Long getAmount() {
        return amount;
    }

    /**
     * 收款金额[核销实收金额]
     */
    public void setAmount(Long amount) {
        this.amount = amount;
    }

    /**
     * 可用金额
     */
    public Long getAvailableAmount() {
        return availableAmount;
    }

    /**
     * 可用金额
     */
    public void setAvailableAmount(Long availableAmount) {
        this.availableAmount = availableAmount;
    }

    /**
     * 已用金额
     */
    public Long getUsedAmount() {
        return usedAmount;
    }

    /**
     * 已用金额
     */
    public void setUsedAmount(Long usedAmount) {
        this.usedAmount = usedAmount;
    }

    /**
     * 资金状态集合 CAP0004：0.未分解1.分解中2.已分解3.已作废
     */
    public String getFundStatusCd() {
        return fundStatusCd;
    }

    /**
     * 资金状态集合 CAP0004：0.未分解1.分解中2.已分解3.已作废
     */
    public void setFundStatusCd(String fundStatusCd) {
        this.fundStatusCd = fundStatusCd;
    }

    /**
     * 资金到账日期
     */
    public Date getAcceptDate() {
        return acceptDate;
    }

    /**
     * 资金到账日期
     */
    public void setAcceptDate(Date acceptDate) {
        this.acceptDate = acceptDate;
    }

    /**
     * 实际到账日期
     */
    public Date getAcceptActualDate() {
        return acceptActualDate;
    }

    /**
     * 实际到账日期
     */
    public void setAcceptActualDate(Date acceptActualDate) {
        this.acceptActualDate = acceptActualDate;
    }

    /**
     * 摘要
     */
    public String getDocketRem() {
        return docketRem;
    }

    /**
     * 摘要
     */
    public void setDocketRem(String docketRem) {
        this.docketRem = docketRem;
    }

    /**
     * 认款操作人
     */
    public Long getIdentifyOperator() {
        return identifyOperator;
    }

    /**
     * 认款操作人
     */
    public void setIdentifyOperator(Long identifyOperator) {
        this.identifyOperator = identifyOperator;
    }

    /**
     * 认款操作时间
     */
    public Date getIdentifyTime() {
        return identifyTime;
    }

    /**
     * 认款操作时间
     */
    public void setIdentifyTime(Date identifyTime) {
        this.identifyTime = identifyTime;
    }

    /**
     * 认款操作人名称
     */
    public String getIdentifyOperatorNm() {
        return identifyOperatorNm;
    }

    /**
     * 认款操作人名称
     */
    public void setIdentifyOperatorNm(String identifyOperatorNm) {
        this.identifyOperatorNm = identifyOperatorNm;
    }

    /**
     * 资金来源CAP0002：0-正常来款 1- 保证金转入 2-保险保证金转入 3-保险首期款转入 4-保险退还客户 5- 扣除保险保证金 6-风险保证金转入
     */
    public String getFundSourcesCd() {
        return fundSourcesCd;
    }

    /**
     * 资金来源CAP0002：0-正常来款 1- 保证金转入 2-保险保证金转入 3-保险首期款转入 4-保险退还客户 5- 扣除保险保证金 6-风险保证金转入
     */
    public void setFundSourcesCd(String fundSourcesCd) {
        this.fundSourcesCd = fundSourcesCd;
    }

    /**
     * 资金录入方式 1.手工录入 2.批量导入3.代扣导入4.APP录入
     */
    public String getFundInputCd() {
        return fundInputCd;
    }

    /**
     * 资金录入方式 1.手工录入 2.批量导入3.代扣导入4.APP录入
     */
    public void setFundInputCd(String fundInputCd) {
        this.fundInputCd = fundInputCd;
    }

    /**
     * 所属事业部组织架构？
     */
    public String getFundBelongOrgCd() {
        return fundBelongOrgCd;
    }

    /**
     * 所属事业部组织架构？
     */
    public void setFundBelongOrgCd(String fundBelongOrgCd) {
        this.fundBelongOrgCd = fundBelongOrgCd;
    }

    /**
     * 代扣账号
     */
    public String getBankCardNo() {
        return bankCardNo;
    }

    /**
     * 代扣账号
     */
    public void setBankCardNo(String bankCardNo) {
        this.bankCardNo = bankCardNo;
    }

    /**
     * 资金种类(CAP0014) 0.重卡资金 1.保险租金
     */
    public String getFundTypCd() {
        return fundTypCd;
    }

    /**
     * 资金种类(CAP0014) 0.重卡资金 1.保险租金
     */
    public void setFundTypCd(String fundTypCd) {
        this.fundTypCd = fundTypCd;
    }

    /**
     * 凭证种类-数据字典
     */
    public String getCertificateCd() {
        return certificateCd;
    }

    /**
     * 凭证种类-数据字典
     */
    public void setCertificateCd(String certificateCd) {
        this.certificateCd = certificateCd;
    }

    /**
     * 凭证号码
     */
    public String getCertificateCode() {
        return certificateCode;
    }

    /**
     * 凭证号码
     */
    public void setCertificateCode(String certificateCode) {
        this.certificateCode = certificateCode;
    }

    /**
     * 业务编号
     */
    public String getBusinessCode() {
        return businessCode;
    }

    /**
     * 业务编号
     */
    public void setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
    }

    /**
     * 借贷标志-数据字典
     */
    public String getBorrowingLogoCd() {
        return borrowingLogoCd;
    }

    /**
     * 借贷标志-数据字典
     */
    public void setBorrowingLogoCd(String borrowingLogoCd) {
        this.borrowingLogoCd = borrowingLogoCd;
    }

    /**
     * 币种-数据字典
     */
    public String getMoneyType() {
        return moneyType;
    }

    /**
     * 币种-数据字典
     */
    public void setMoneyType(String moneyType) {
        this.moneyType = moneyType;
    }

    /**
     * 导出状态-数据字典：0-未导出 1-已导出
     */
    public String getExpStatusCd() {
        return expStatusCd;
    }

    /**
     * 导出状态-数据字典：0-未导出 1-已导出
     */
    public void setExpStatusCd(String expStatusCd) {
        this.expStatusCd = expStatusCd;
    }

    /**
     * 关联付款ID
     */
    public Long getRelationPayId() {
        return relationPayId;
    }

    /**
     * 关联付款ID
     */
    public void setRelationPayId(Long relationPayId) {
        this.relationPayId = relationPayId;
    }

    /**
     * 是否删除（1：是，0：否）
     */
    public Integer getIsDel() {
        return isDel;
    }

    /**
     * 是否删除（1：是，0：否）
     */
    public void setIsDel(Integer isDel) {
        this.isDel = isDel;
    }

    /**
     * 版本
     */
    public Long getVersion() {
        return version;
    }

    /**
     * 版本
     */
    public void setVersion(Long version) {
        this.version = version;
    }

    public Double getAmountDou() {
        return amountDou;
    }

    public void setAmountDou(Double amountDou) {
        this.amountDou = amountDou;
    }

    public String getFundStatusCdNm() {
        return fundStatusCdNm;
    }

    public void setFundStatusCdNm(String fundStatusCdNm) {
        this.fundStatusCdNm = fundStatusCdNm;
    }

    public String getAcceptDates() {
        return acceptDates;
    }

    public void setAcceptDates(String acceptDates) {
        this.acceptDates = acceptDates;
    }

    public String getAcceptActualDates() {
        return acceptActualDates;
    }

    public void setAcceptActualDates(String acceptActualDates) {
        this.acceptActualDates = acceptActualDates;
    }

    public String getFundTypCdNm() {
        return fundTypCdNm;
    }

    public void setFundTypCdNm(String fundTypCdNm) {
        this.fundTypCdNm = fundTypCdNm;
    }

    public String getCrtUsrNm() {
        return crtUsrNm;
    }

    public void setCrtUsrNm(String crtUsrNm) {
        this.crtUsrNm = crtUsrNm;
    }

    public String getFundBelongOrgCdNm() {
        return fundBelongOrgCdNm;
    }

    public void setFundBelongOrgCdNm(String fundBelongOrgCdNm) {
        this.fundBelongOrgCdNm = fundBelongOrgCdNm;
    }

    public String getFundDecomUsrNm() {
        return fundDecomUsrNm;
    }

    public void setFundDecomUsrNm(String fundDecomUsrNm) {
        this.fundDecomUsrNm = fundDecomUsrNm;
    }

    public String getPaySchNo() {
        return paySchNo;
    }

    public void setPaySchNo(String paySchNo) {
        this.paySchNo = paySchNo;
    }

    public Integer getIsNeedVf() {
        return isNeedVf;
    }

    public void setIsNeedVf(Integer isNeedVf) {
        this.isNeedVf = isNeedVf;
    }

    public String getPaySchIds() {
        return paySchIds;
    }

    public void setPaySchIds(String paySchIds) {
        this.paySchIds = paySchIds;
    }

    public String getCapTypCdNm() {
        return capTypCdNm;
    }

    public void setCapTypCdNm(String capTypCdNm) {
        this.capTypCdNm = capTypCdNm;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public List<Long> getIdList() {
        return idList;
    }

    public void setIdList(List<Long> idList) {
        this.idList = idList;
    }

    public Long getFundPid() {
        return fundPid;
    }

    public void setFundPid(Long fundPid) {
        this.fundPid = fundPid;
    }

    public Integer getIsAutoCharge() {
        return isAutoCharge;
    }

    public void setIsAutoCharge(Integer isAutoCharge) {
        this.isAutoCharge = isAutoCharge;
    }

    public String getFundChnCd() {
        return fundChnCd;
    }

    public void setFundChnCd(String fundChnCd) {
        this.fundChnCd = fundChnCd;
    }
}
